<?php

App::import('Vendor', 'ClassEzpdf', array('file' => 'pdf/class.ezpdf.php'));
$pdf = new Cezpdf('LETTER');
$pdf->ezStartPageNumbers(20, 75, 10, 'right', utf8_decode('Página' . "  {PAGENUM} de {TOTALPAGENUM}"), 1);
generar_carta(' ', "", $pdf);

//Imprimo encabezado
$str = "<b>INSTITUTO COLOMBIANO DE DESARROLLO RURAL- INCODER</b>";
$pdf->ezText(utf8_decode($str), 12, array('justification' => 'center'));
$str = "<b>INFORME DE VERIFICACIÓN DE CAMPO CONVOCATORIA SIT-01-2011</b>";
$pdf->ezText(utf8_decode($str), 12, array('justification' => 'center'));

$str = "\n";
$pdf->ezText($str);

$str = "<b>PROYECTO " . $codigo . "</b>";
$pdf->ezText(utf8_decode($str), 12, array('justification' => 'center'));

$str = "\n";
$pdf->ezText($str);

//Necesario para pasar los datos a las tablas.
$data = array();

$data[] = array('nombre' => utf8_decode('Nombre'), 'identificacion' => utf8_decode('Identificación'), 'direccion' => utf8_decode('Dirección'), 'telefono' => utf8_decode('Teléfono fijo'), 'celular' => utf8_decode('Teléfono celular'));


foreach ($proponente as $prop) {
    $data[] = array('nombre' => utf8_decode($prop['nombre']), 'identificacion' => "C.C " . utf8_decode($prop['numero_identificacion']), 'direccion' => utf8_decode($prop['direccion']), 'telefono' => utf8_decode($prop['telefono_fijo']), 'celular' => utf8_decode($prop['telefono_celular']));
}

$pdf->ezTable(
        $data, null, "1. DATOS DEL PROPONENTE", array(
    'fontSize' => 8,
    'titleFontSize' => 12,
    'width' => 500,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0
        )
);

$str = "\n";
$pdf->ezText($str);

//Descargo la información de data
$data = array();

//Creo la primera fila
$data[] = array('nombres' => utf8_decode('Nombres'), 'apellidos' => utf8_decode('Apellidos'), 'identificacion' => utf8_decode('Identificación'), 'clase' => utf8_decode('Clase'));

//Creo las filas restantes
$clase = "";
foreach ($candidatos as $candidato) {
    if ($candidato['Candidate']['estado_filtro'] == 1||$candidato['Candidate']['estado_filtro'] == 5||$candidato['Candidate']['estado_filtro'] == 6) {
        if ($candidato['Candidate']['clase'] == 1) {
            $clase = "Principal";
        } else if($candidato['Candidate']['clase'] == 2) {
            $clase = "Suplente";
        }else{
            $clase = "";
        }        
        $data[] = array('nombres' => utf8_decode($candidato['Candidate']['1er_nombre'] . " " . $candidato['Candidate']['2do_nombre']), 'apellidos' => utf8_decode($candidato['Candidate']['1er_apellido']) . " " . utf8_decode($candidato['Candidate']['2do_apellido']), 'identificacion' => "C.C " . utf8_decode($candidato['Candidate']['nro_ident']), 'clase' => utf8_decode($clase));
    }
}

//Configuro y genero la tabla.
$pdf->ezTable(
        $data, null, "2. DATOS DE LOS JEFES DE FAMILIA", array(
    'fontSize' => 8,
    'titleFontSize' => 12,
    'width' => 500,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0
        )
);
//Imprimo espacios
$str = "\n";
$pdf->ezText($str);

//Descargo la información de data
$data = array();

//Creo las filas restantes
$areaTotalNegociacion = 0;
$areaTotalTitulo = 0;
foreach ($propiedades as $propiedad) {

    App::import('Model', 'City');

    $c = new City();
    $c->recursive = -1;

    $ciudad = $c->find('first', array('conditions' => array('City.id' => $propiedad['Property']['city_id']), 'fields' => array('City.name', 'City.departament_id')));


    App::import('Model', 'Departament');

    $d = new Departament();
    $d->recursive = -1;

    $departamento = $d->find('first', array('conditions' => array('Departament.id' => $ciudad['City']['departament_id']), 'fields' => array('Departament.name')));

    App::import('Model', 'Departament');

    $data[] = array('caracteristica' => utf8_decode("<b>Código del predio</b>"), 'dato' => "<b>" . utf8_decode($propiedad['Property']['codigo'] . "</b>"));
    $data[] = array('caracteristica' => utf8_decode("Nombre predio"), 'dato' => utf8_decode($propiedad['Property']['nombre']));
    $data[] = array('caracteristica' => utf8_decode("Departamento"), 'dato' => utf8_decode($departamento['Departament']['name']));
    $data[] = array('caracteristica' => utf8_decode("Municipio"), 'dato' => utf8_decode($ciudad['City']['name']));
    $data[] = array('caracteristica' => utf8_decode("Vereda"), 'dato' => utf8_decode($propiedad['Property']['vereda']));
    $data[] = array('caracteristica' => utf8_decode("No. Matrícula"), 'dato' => utf8_decode($propiedad['Property']['matricula']));
    $data[] = array('caracteristica' => utf8_decode("Extensión área negociación (Ha)"), 'dato' => utf8_decode($propiedad['Property']['area_negociacion']));
    $data[] = array('caracteristica' => utf8_decode("Extensión área título  (Ha)"), 'dato' => utf8_decode($propiedad['Property']['area_titulo']));
    $data[] = array('caracteristica' => utf8_decode("Coordenadas"), 'dato' => utf8_decode($encuesta['Poll']['georeferenciacion']));
    $data[] = array('caracteristica' => utf8_decode("Descripción vias de acceso"), 'dato' => utf8_decode($encuesta['Poll']['descripcion_vias_internas']));
    $data[] = array('caracteristica' => '', 'dato' => '');
    $areaTotalNegociacion += $propiedad['Property']['area_negociacion'];
    $areaTotalTitulo += $propiedad['Property']['area_titulo'];
}

//Configuro y genero la tabla.
$pdf->ezTable(
        $data, null, "3. PREDIOS", array(
    'fontSize' => 8,
    'titleFontSize' => 12,
    'width' => 500,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0
        )
);

//Descargo la información de data
$data = array();

$str = "\n";
$pdf->ezText($str);

//Información de área total
$data[] = array('caracteristica' => utf8_decode("<b>ÁREA TOTAL NEGOCIACIÓN(Ha)</b>"), 'dato' => "<b>" . $areaTotalNegociacion . "</b>");
$data[] = array('caracteristica' => utf8_decode("<b>ÁREA TOTAL TITULO(Ha)</b>"), 'dato' => "<b>" . $areaTotalTitulo . "</b>");

//Configuro y genero la tabla.
$pdf->ezTable(
        $data, null, null, array(
    'fontSize' => 8,
    'titleFontSize' => 12,
    'width' => 500,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0
        )
);

//Imprimo espacios
$str = "\n";
$pdf->ezText($str);

//Descargo la información de data
$data = array();

//Creo la primera fila
$data[] = array('concepto' => utf8_decode('Concepto'), 'calificacion' => utf8_decode('Calificiación'), 'descripcion' => utf8_decode('Descripción'));

//Creo las filas restantes

$data[] = array('concepto' => utf8_decode("Verificación fase I"), 'calificacion' => utf8_decode($encuesta['Poll']['verificacion_fase_uno']), 'descripcion' => utf8_decode($encuesta['Poll']['descripcion_verificacion_fase_uno']));
$data[] = array('concepto' => utf8_decode("Caracteristicas biofisicas"), 'calificacion' => utf8_decode($encuesta['Poll']['calificacion_caracteristicas_biofisicas']), 'descripcion' => utf8_decode($encuesta['Poll']['concepto_biofisico_agrologico']));
$data[] = array('concepto' => utf8_decode("Caracteristicas sociales"), 'calificacion' => utf8_decode($encuesta['Poll']['calificacion_sociales']), 'descripcion' => utf8_decode($encuesta['Poll']['concepto_social']));
$data[] = array('concepto' => utf8_decode("Caracteristicas economicas"), 'calificacion' => utf8_decode($encuesta['Poll']['calificacion_economicos']), 'descripcion' => utf8_decode($encuesta['Poll']['concepto_economico']));
$data[] = array('concepto' => utf8_decode("Caracteristicas ambientales"), 'calificacion' => utf8_decode($encuesta['Poll']['calificacion_ambientales']), 'descripcion' => utf8_decode($encuesta['Poll']['concepto_ambiental']));
$data[] = array('concepto' => utf8_decode("Aprobación concepto integral"), 'calificacion' => utf8_decode($encuesta['Poll']['visto_bueno']), 'descripcion' => utf8_decode($encuesta['Poll']['descripcion_visto_bueno']));

$conceptoTotal = "";
if ($encuesta['Poll']['verificacion_fase_uno'] == "Si" AND $encuesta['Poll']['calificacion_caracteristicas_biofisicas'] == "CUMPLE" AND $encuesta['Poll']['calificacion_sociales'] == "CUMPLE" AND $encuesta['Poll']['calificacion_economicos'] == "CUMPLE" AND $encuesta['Poll']['calificacion_ambientales'] == "CUMPLE") {
    $conceptoTotal = "VIABLE";
} else {
    $conceptoTotal = "NO VIABLE";
}

$data[] = array('concepto' => utf8_decode("Concepto integral"), 'calificacion' => utf8_decode($conceptoTotal), 'descripcion' => "");

//Configuro y genero la tabla.
$pdf->ezTable(
        $data, null, "4. CONCEPTOS VERIFICADOR", array(
    'fontSize' => 8,
    'titleFontSize' => 12,
    'width' => 500,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0
        )
);

//Imprimo espacios
$str = "\n\n\n\n\n";
$pdf->ezText($str);

//Descargo la información de data
$data = array();

//Buscar nombre del usuario asignado a este proyecto

App::import('Model', 'UserProyect');

$u = new UserProyect();
$u->recursive = 1;

$us = $u->find('first', array('conditions' => array('UserProyect.proyect_id' => $proyect_id, 'User.group_id' => 4), 'fields' => array('UserProyect.user_id')));

App::import('Model', 'User');

$ep = new User();
$ep->recursive = -1;

$epsagro = $ep->find('first', array('conditions' => array('User.id' => $us['UserProyect']['user_id']), 'fields' => array('User.nombre', 'User.primer_apellido', 'User.segundo_apellido')));

//Datos de la firma
$data[] = array('1' => "________________________________\nRepresentante legal", '2' => "________________________________");
$data[] = array('1' => utf8_decode($epsagro['User']['nombre'] . " " . $epsagro['User']['primer_apellido'] . " " . $epsagro['User']['segundo_apellido']), '2' => utf8_decode("Responsable INCODER"));

//Configuro y genero la tabla.
$pdf->ezTable(
        $data, null, null, array(
    '   fontSize' => 8,
    'titleFontSize' => 12,
    'width' => 500,
    'showHeadings' => 0,
    'showLines' => 0,
    'shaded' => 0,
    'cols' => array('1' => array('justification' => 'center'), '2' => array('justification' => 'center'))
        )
);

$pdf->ezStopPageNumbers(1, 1, 0);
$pdf->ezStream();
?>

<?php

function generar_carta($cod, $str, &$pdf, $start=true, $m_left=2.5, $m_right=2.5) {
    App::import('Vendor', 'ClassEzpdf', array('file' => 'pdf/class.ezpdf.php'));
    if ($pdf == NULL) {
        $pdf = new Cezpdf('LETTER');
    }
    if ($start) {
        $tmp = array(
            'b' => 'Trebuchet-Bold.afm'
            , 'i' => 'Trebuchet-Italic.afm'
            , 'bi' => 'Trebuchet-BoldItalic.afm'
            , 'ib' => 'Trebuchet-BoldItalic.afm'
            , 'bb' => 'Trebuchet-Bold.afm'
        );
        $pdf->setFontFamily('Trebuchet.afm', $tmp);
        $pdf->selectFont('fonts/Trebuchet.afm');

        //$pdf->ezSetCmMargins(5.5,5.5,4,4);

        $all = $pdf->openObject();
        $pdf->saveState();
        $pdf->addPngFromFile('img/cabecera.png', 60, 670, 500);
        $pdf->addPngFromFile('img/pie_de_pagina1.png', 100, 60, 550, 60);
        $pdf->addPngFromFile('img/pie_de_pagina.png', 0, 0, 610, 60);
        $pdf->restoreState();
        $pdf->closeObject();
        $pdf->addObject($all, 'all');
        $pdf->transaction('start');
    }

    $pdf->ezSetCmMargins(4.5, 5, $m_left, $m_right);

    $textOptions = array('justification' => 'full');
    $data = explode("\n", $str);
    $collecting = 0;
    foreach ($data as $d) {
        chop($d);
        if (strlen($d) && $d[0] == '#') {
            // comment, or new page request
            switch ($d) {
                case '#NP':
                    $pdf->ezNewPage();
                    break;
            }
        } else {
            $pdf->ezText($d, 8, $textOptions);
        }
    }
}
?>
